_____ _    _         _____  _____ _   _          _____   _____  
    / ____| |  | |  /\   |  __ \|_   _| \ | |   /\   / _ \ \ / / _ \ 
   | |  __| |  | | /  \  | |__) | | | |  \| |  /  \ | | | \ V / | | |
   | | |_ | |  | |/ /\ \ |  _  /  | | | . ` | / /\ \| | | |> <| | | |
   | |__| | |__| / ____ \| | \ \ _| |_| |\  |/ ____ \ |_| / . \ |_| |
    \_____|\____/_/    \_\_|  \_\_____|_| \_/_/    \_\___/_/ \_\___/ 
                                                                     
                    ./Guarina0x0
Titulo: TryHackMe - LockDown
Fecha: 21-09-2021
Descripcion: Enumeracion - SQL Inyection - Fuzzing - MySQL - Rule Yara

TryHackMe - LockDown Writeup

## Ping:

ping -c1 10.10.158.200

Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos

Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.

## Enumeracion :

Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:

Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo

  • Puerto 22 SSH
  • Puerto 80 HTTP
  • Vamos a proceder a realizar una enumeracion mas potente aplicando scripts basicos de nmap para determinar la version y servicio que corren en cada uno de los puertos expuestos

    Mediante la herramienta WhatWeb vamos a ver si estamos ante algun gestor de contenido y si nos reporta algo interesante de la web

    Si procedemos abrir la web mediante el navegador , nos vamos a dar cuenta que nos redirigue a un dominio llamado "contacttacer.thm"

    Por lo que vamos a tener que introducir dicho dominio en nuestro /etc/hosts ya que se esta aplicando la tecnica de VirtualHosting

    Ahora ya nos deberia cargar la web y vemos un panel de "Coronavirus Contact Tracer" ya podemos darnos cuenta de que esta maquina esta relacionado con el Covid-19

    Tenemos un campo de introducir un codigo que se queda colgada la pagina cuando introduces un codigo , abajo tenemos un enlace a un Panel de Administracion

    Podemos ver que tenemos 2 campos tipicos y que no tenemos credenciales , podemos probar con credenciales tipicas o intentar realizar un ataque de inyeccion sql

    Si realizamos el ataque vamos a comprobar que vamos a poder realizar un bypass del panel de auntentificacion

    ## Panel Covid-19 :

    Ahora nos encontramos ante un panel de gestion del covid-19 , si investigamos vamos a tener un formulario para crear un nuevo Dashboard que nos permite subir un icono para el Dashboard

    En vez de subir un icono voy a probar a subir una shell reversa

    Y nos ponemos a la escucha mediante el puerto que hemos configurado mediante Netcat

    Y nos va a dar una shell como el usuario www-data

    ## Escalada de Privilegios :

    Si vamos investigando el sistema y nos dirigimos a la ruta /var/www/html , nos vamos a encontrar con el tipico fichero "config.php" que normalmente contiene credenciales en texto plano

    Y podemos ver un usuario y una contraseña del usuario hasheada , si seguimos enumerando los ficheros nos vamos a encontrar otro fichero llamado "DBConnection.php" que contiene las credenciales del gestor de Base de Datos Mysql

    Si nos conectamos a MySQL , podemos ver las bases de datos y las tablas que contiene

    La unica tabla que llama mas la atencion y donde puede a ver contraseñas es en la tabla Users que vamos a realizarle una consulta para que nos muestre los campos

    Podemos ver el Usuario Admin junto con su contraseña que esta hasheada

    Si tiramos de rainbow tables como puede ser CrackStation , nos devuelve la contraseña en texto plano

    Si listamos el directorio /home podemos ver los usuarios que tenemos

    Podemos probar la contraseña que tenemos con los 2 usuarios

    Podemos ver que la contraseña pertenece el usuario "Cyrus" y ya podemos visualizar el flag del usuario

    Ahora tenemos que buscar permisos SUID , o procesos que nos permitan ejecutar procesos como el usuario root , tenemos un script llamado scan.sh que tiene el bit SUID activado

    sudo -l

    Si procedemos a ver que tiene el script , parece un script que utiliza un antivirus , en el que se le introduce una ruta analiza la ruta en busca de malware y si encuentra alguno lo introduce en una carpeta que esta en el home del usuario y que se llama "quarantine"

    Si pensamos podemos crear una regla YARA que detecte como malware cualquier cadena que lleve "THM" que es como comienza el flag del usuario root y asi podemos secuestrar el fichero root.txt

    rule TextExample { strings: $text_string = "THM" condition: $text_string }

    Ahora si ejecutamos el script con los permisos de sudo y le pasamos como ruta el directorio del usuario Root , nos va a detectar un fichero infectado ya que contiene la cadena "THM"

    Si procedemos a ir al directorio de "quarantine" podemos ver ya ver el flag del usuario Root que hemos secuestrado mediante la regla de malware YARA

    Y ya tendriamos la maquina LockDown explotada , con un nivel de dificultad Medio!